package net.linku.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.linku.domain.LAPrivilege;
import net.linku.model.req.login.UserRequestParams;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * LAPrivilegeMapper 接口提供了对 LAPrivilege 实体的数据库访问方法。
 * <p>
 * 该接口继承自 MyBatis-Plus 的 BaseMapper 接口，提供了基本的 CRUD 操作。
 * 除了标准的 CRUD 操作外，它还声明了一个根据用户请求参数查询权限的自定义方法。
 * </p>
 *
 * @see com.baomidou.mybatisplus.core.mapper.BaseMapper
 * @see net.linku.domain.LAPrivilege
 * @see net.linku.model.req.login.UserRequestParams
 *
 * 作者：SilenceTian
 */
public interface LAPrivilegeMapper extends BaseMapper<LAPrivilege> {

    /**
     * 根据用户请求参数查询 LAPrivilege 实体列表。
     * <p>
     * 该方法接受一个包含 tenantId 和 userId 的 UserRequestParams 对象，
     * 并返回匹配给定参数的 LAPrivilege 实体列表。
     * </p>
     *
     * @param userRequestParams 包含用于筛选权限的 tenantId 和 userId 的对象
     * @return 匹配给定用户请求参数的 LAPrivilege 实体列表
     */
    List<LAPrivilege> queryPrivilegeByUserId(@Param("userRequestParams") UserRequestParams userRequestParams);
}
